____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Complex Programmable Logic Device
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Complex Programmable Logic Devices (CPLD) stellen in der Digitaltechnik sogenannte programmierbare logische Schaltungen dar. Sie sind technologischer Nachfolger der Programmable Array Logic (PAL) und im Aufbau einfacher als die deutlich komplexeren Field Programmable Gate Arrays (FPGAs).
Contents
β’ Aufbau
β’ Weblinks
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Aufbau
CPLDs bestehen im Wesentlichen aus folgenden Elementen:
β’ programmierbare RΓΌckkopplung
β’ Eingabeblock
β’ Ausgabeblock
Ein-/AusgabeblΓΆcke kΓΆnnen schnelle Speicher, wie Latches, D-Flipflops oder Register, sein. In vielen modernen PLDs stehen programmierbare AusgΓ€nge zur VerfΓΌgung, denen man definierte ZustΓ€nde (active low, active high, tristate) zuweisen kann. Der AND/OR-Matrix als Kern kann jede beliebige kombinatorische VerknΓΌpfung zugewiesen werden.
Ein CPLD setzt sich aus vielen SPLDs (simple programmable logic device) zusammen. Diese werden Makrozellen genannt. Die einzelnen SPLDs werden wiederum ΓΌber Busse miteinander verbunden. Der homogene Aufbau ermΓΆglicht eine exakte Bestimmung der Durchlaufzeiten, was den wesentlichen Unterschied zu den FPGAs ausmacht. Ein weiterer, allerdings nicht grundlegend notwendiger Unterschied ist die Konfiguration: Durch Fertigung in EECMOS electronically erasable complementary metal oxide semiconductor bleibt nach der Konfiguration das Programm im CPLD und muss nicht bei jedem Start neu geladen werden. Dieses Kriterium der Konfiguration ist kein wesentliches Unterscheidungsmerkmal zwischen CPLDs und FPGAs, allerdings ist es derzeit technologisch noch nicht mΓΆglich, die wesentlich komplexeren FPGA-Strukturen gemeinsam mit EEPROM-Zellen wie bei einem CPLD auf einem Chip unterzubringen. Am Markt befindliche rekonfigurierbare FPGA-Bausteine ohne externen Speicher sind derzeit (Mitte 2007) so genannte Multi-Die-LΓΆsungen. Dabei werden mehrere, technologisch unterschiedlich hergestellte Halbleiterchips wie ein herkΓΆmmlicher SRAM-basierender FPGA-Chip und ein Flash-Konfigurationschip gemeinsam in einem ChipgehΓ€use untergebracht. Nach auΓen hin wird dann fΓΌr das FPGA kein externer Speicher mehr benΓΆtigt.
Durch die hohe Anzahl von EingΓ€ngen pro Logikblock bieten sich CPLDs vor allem fΓΌr die LΓΆsung komplexer, paralleler kombinatorischer AND/OR-Logik an, bei denen viele Ein- bzw. AusgΓ€nge benΓΆtigt werden. Gleichzeitig sollte die Anzahl der notwendigen Speicher (Flipflops) bei der Anwendung von CPLDs gering sein, da pro Ein- bzw. Ausgabepins meist nur ein einziges Flipflop als Register zur VerfΓΌgung steht. Digitale Schaltungen, welche viele Register erfordern, wie beispielsweise Schieberegister oder digitale ZΓ€hler, lassen sich daher nur bis zu einem gewissen Grad in CPLDs effizient realisieren.
Bei steigender Zahl der Zellen werden die Makrozellen mit lokalen Leitungen zu ΓΌbergeordneten Strukturen wie Logic Array Blocks, LABs zusammengefasst. Diese Bezeichnungen variieren allerdings je nach Hersteller.
Weblinks
Commons
: Complex programmable logic devices
β Sammlung von Bildern, Videos und Audiodateien
β’ CPLD-Grundlagen bei mikrocontroller.net